The present disclosure relates generally to virtualized network functions, and more particularly to management of virtualized network functions to alert existing virtualized network functions to instantiation of new virtualized network functions and to changes to existing virtualized network functions.
Virtualization is the creation and/or use of a virtualized machine to replace something that could be implemented using hardware. A virtualized machine is a software based container that represents a set of computing resources such as one or more central processing unit cores, memory, storage, network interfaces, etc. A virtualized machine provides an execution environment for software applications in a manner similar to the hardware components the virtualized machine replaces. For example, a virtualized machine can be used to emulate the functioning of a physical machine, such as a specific type of computer. A virtualized application is an application that can run on a virtualized machine independent of a physical computer that the virtualized machine is running on.
A virtualized network function typically consists of a set of various types of virtualized applications that run on a set of virtualized machines that can be run on a set of physical servers. For example, a call processing virtualized network function may consist of one or more system controller virtualized applications, one or more session initiation protocol processing virtualized applications, one or more Diameter AAA virtualized applications, and one more accounting virtualized applications. A virtualized network function instance is a particular instantiation of a virtualized network function with a particular set of required virtualized application instances of various virtualized application types.
An orchestrator can be used to manage the instantiation (i.e., creation) of new virtualized network functions and interactions between virtualized network functions (e.g., peering virtualized network functions). Several pieces of hardware may be used to form a system for a particular purpose. Similarly, several virtualized network functions, each used to replace one or more pieces of hardware, can be used to form a system. The orchestrator is used to control and manage the virtualized components of the system.
Virtualized network functions, can be used to implement an end-to-end service infrastructure. When an orchestrator instantiates a new instance of a particular virtualized network function (vNF), the new vNF and surrounding peering vNFs need to be made aware of each other in order for the new vNF to be integrated into an end-to-end service infrastructure. This process is referred to as “chaining.” Many aspects of chaining needs cannot be supported by using traditional Domain Name Service (DNS) or Internet Protocol (IP) load balancers. Although this process can be accomplished by carefully planned configuration processes across a network, such a process is slow and time consuming. In addition, DNS and IP load balancers cannot support chaining needs such as an application access control list that specifies which instances of peering virtualized network functions can be allowed to access a particular virtualized network function; traffic throttling; priority differentiation and overload control of different types of application level communication messages between peering virtualized network functions; and application traffic flow configured to take advantage of location proximity.